Multiple engines or processors are used to increase the throughput of a device or a network system. Typically, segments of one or more input streams are parallel processed in multiple processors to increase the processing efficiency or throughput of the system. However, out of order processing of the individual segments may result in a loss of order in the sequence of the segments within the input stream and the resulting output stream may not correspond to the input stream. Additional processing is then required to restore the order of the segments of the output stream relative to the input stream resulting in a compromise of the efficiencies gained by multi-processing.